import http from './http.js'

// 用户相关API
export const userApi = {
  // 获取当前用户信息
  getCurrentUser() {
    return http.get('/api/user/me')
  },

  // 根据ID获取用户
  getUserById(userId) {
    return http.get(`/api/user/${userId}`)
  },

  // 根据用户名获取用户
  getUserByUsername(username) {
    return http.get(`/api/user/by-username/${username}`)
  },

  // 根据邮箱获取用户
  getUserByEmail(email) {
    return http.get(`/api/user/email/${email}`)
  },

  // 更新用户信息
  updateUser(userId, userData) {
    return http.put(`/api/user/update/${userId}`, userData)
  },

  // 更新手机号
  updatePhone(userId, phoneData) {
    return http.put(`/api/user/${userId}/phone`, phoneData)
  },

  // 更新邮箱
  updateEmail(userId, emailData) {
    return http.put(`/api/user/${userId}/email`, emailData)
  },

  // 上传用户头像
  uploadAvatar(userId, file) {
    // 使用 uni.uploadFile 上传文件
    return uni.uploadFile({
      url: `${process.env.VUE_APP_API_BASE_URL || 'http://localhost:5000'}/api/user/${userId}/avatar/upload`,
      filePath: file.path || file.tempFilePath,
      name: 'file'
    })
  },

  // 获取用户头像URL
  getUserAvatar(userId) {
    return http.get(`/api/user/${userId}/avatar`)
  },

  // 获取当前用户头像URL
  getCurrentUserAvatar() {
    return http.get('/api/user/me/avatar')
  },

  // 更新头像URL（直接设置URL）
  updateAvatar(userId, avatarData) {
    return http.put(`/api/user/${userId}/avatar`, avatarData)
  },

  // 修改密码
  changePassword(userId, passwordData) {
    return http.put(`/api/user/${userId}/password`, passwordData)
  },

  // 验证用户凭据
  validateCredentials(credentials) {
    return http.post('/api/user/validate-credentials', credentials)
  },

  // 获取用户统计信息
  getUserStats(userId) {
    return http.get(`/api/user/${userId}/stats`)
  },

  // 获取用户文档列表
  getUserDocuments(userId) {
    return http.get(`/api/user/${userId}/documents`)
  },

  // 获取用户会话列表
  getUserConversations(userId) {
    return http.get(`/api/user/${userId}/conversations`)
  },

  // 获取用户权限列表
  getUserPermissions(userId) {
    return http.get(`/api/user/${userId}/permissions`)
  }
}